package com.ruoyi.storage.service;


import com.ruoyi.storage.model.dto.OSSAuthInfoDTO;
import com.ruoyi.storage.model.param.OssAuthInfoParam;

import java.io.InputStream;
import java.util.List;

public interface IOssService {
    boolean copyObjectKey(String sourceBucketName, String sourceObjectKey, String destinationBucketName, String destinationKey, OssAuthInfoParam ossAuthInfoParam) throws Exception;

    String authObjectUrl(String objectUrl, OssAuthInfoParam ossAuthInfoParam) throws Exception;

    boolean existObjectKey(List<String> objectKeyList, OssAuthInfoParam ossAuthInfoParam) throws Exception;

    void uploadFile(String fileKey, InputStream inputStream, OssAuthInfoParam ossAuthInfoParam) throws Exception;

    OSSAuthInfoDTO getAuthParam(OssAuthInfoParam ossAuthInfoParam) throws Exception;

}
